\hypertarget{classUDPServer_1_1Responder}{
\section{UDPServer::Responder Class Reference}
\label{classUDPServer_1_1Responder}\index{UDPServer::Responder@{UDPServer::Responder}}
}
Inheritance diagram for UDPServer::Responder::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3cm]{classUDPServer_1_1Responder}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{classUDPServer_1_1Responder_97671559d61d64adb5473ad2389d88ed}{
\hyperlink{classUDPServer_1_1Responder_97671559d61d64adb5473ad2389d88ed}{Responder} (const boost::asio::ip::udp::endpoint \&endpoint, const SocketPointer \&socket, const char $\ast$buffer, size\_\-t request\_\-length)}
\label{classUDPServer_1_1Responder_97671559d61d64adb5473ad2389d88ed}

\begin{CompactList}\small\item\em Constructor, should only be built by \hyperlink{classUDPServer}{UDPServer}. \item\end{CompactList}\item 
\hypertarget{classUDPServer_1_1Responder_b30e256fa0f086f4402f2ed1d87e08f4}{
size\_\-t \hyperlink{classUDPServer_1_1Responder_b30e256fa0f086f4402f2ed1d87e08f4}{send} (char $\ast$src\_\-buf, size\_\-t buf\_\-len)}
\label{classUDPServer_1_1Responder_b30e256fa0f086f4402f2ed1d87e08f4}

\begin{CompactList}\small\item\em Sends response over UDP to the requesting client. \item\end{CompactList}\item 
\hypertarget{classUDPServer_1_1Responder_1f514bba6c1cfd9915d6d8f3dc819e4d}{
size\_\-t \hyperlink{classUDPServer_1_1Responder_1f514bba6c1cfd9915d6d8f3dc819e4d}{send} (const size\_\-t \&size)}
\label{classUDPServer_1_1Responder_1f514bba6c1cfd9915d6d8f3dc819e4d}

\begin{CompactList}\small\item\em Sends a size\_\-t type over UDP to the requesting client. \item\end{CompactList}\item 
\hypertarget{classUDPServer_1_1Responder_7eec4e557eec432e382d53f10bdea89e}{
size\_\-t \hyperlink{classUDPServer_1_1Responder_7eec4e557eec432e382d53f10bdea89e}{send} (const std::string \&str)}
\label{classUDPServer_1_1Responder_7eec4e557eec432e382d53f10bdea89e}

\begin{CompactList}\small\item\em Sends a string over UDP to the requesting client. \item\end{CompactList}\item 
{\footnotesize template$<$typename ConstBufferSequence$>$ }\\size\_\-t \hyperlink{classUDPServer_1_1Responder_705c8347a028da2dbbceaa8792d0444c}{send} (const ConstBufferSequence \&buf\_\-seq)
\begin{CompactList}\small\item\em Sends a buffer over UDP to the requesting client. \item\end{CompactList}\item 
\hypertarget{classUDPServer_1_1Responder_75abe5451ae59c50b4483242fc1d1965}{
const char $\ast$ \hyperlink{classUDPServer_1_1Responder_75abe5451ae59c50b4483242fc1d1965}{getBuffer} () const }
\label{classUDPServer_1_1Responder_75abe5451ae59c50b4483242fc1d1965}

\begin{CompactList}\small\item\em Gets internal buffer. \item\end{CompactList}\item 
\hypertarget{classUDPServer_1_1Responder_e8f485b94863acc27cfe1edfb30b758e}{
size\_\-t \hyperlink{classUDPServer_1_1Responder_e8f485b94863acc27cfe1edfb30b758e}{getRequestLength} () const }
\label{classUDPServer_1_1Responder_e8f485b94863acc27cfe1edfb30b758e}

\begin{CompactList}\small\item\em Gets internal buffer length. \item\end{CompactList}\item 
{\footnotesize template$<$typename Serializable$>$ }\\\hyperlink{classUDPServer_1_1Responder}{Responder} \& \hyperlink{classUDPServer_1_1Responder_6841d82ebbd1361ab9d95f3866af9694}{operator$>$$>$} (Serializable \&obj)
\begin{CompactList}\small\item\em Unserializes data from internal buffer. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
\hyperlink{classUDPServer_1_1Responder}{Responder}

This is a concrete implementation of \hyperlink{classUDPSender}{UDPSender}. It should be created by UDP Servers in multi-threaded environments, where the server is supposed to serve more than one client, hence responses might be sent using multiple endpoints. 

\subsection{Member Function Documentation}
\hypertarget{classUDPServer_1_1Responder_705c8347a028da2dbbceaa8792d0444c}{
\index{UDPServer::Responder@{UDPServer::Responder}!send@{send}}
\index{send@{send}!UDPServer::Responder@{UDPServer::Responder}}
\subsubsection[send]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename ConstBufferSequence$>$ size\_\-t UDPServer::Responder::send (const ConstBufferSequence \& {\em buf\_\-seq})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classUDPServer_1_1Responder_705c8347a028da2dbbceaa8792d0444c}


Sends a buffer over UDP to the requesting client. 

\begin{Desc}
\item[Note:]ConstBufferSequence must abide to certain rules, see boost documentation. \end{Desc}
\hypertarget{classUDPServer_1_1Responder_6841d82ebbd1361ab9d95f3866af9694}{
\index{UDPServer::Responder@{UDPServer::Responder}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!UDPServer::Responder@{UDPServer::Responder}}
\subsubsection[operator$>$$>$]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Serializable$>$ {\bf Responder}\& UDPServer::Responder::operator$>$$>$ (Serializable \& {\em obj})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classUDPServer_1_1Responder_6841d82ebbd1361ab9d95f3866af9694}


Unserializes data from internal buffer. 

\begin{Desc}
\item[Note:]An object is serializable if it has a serialize() private method. See boost::serialize documentation.\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em obj}]the Object which will receive unserialization data. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classUDPSenderReceiver_888e5b61c422a22df4b615340bd9a126}{UDPSenderReceiver}.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
\hyperlink{udpserver_8cpp}{udpserver.cpp}\end{CompactItemize}
